首先,打開 Jupyter Notebook 後,先來安裝套件
pip install datasets
from datasets import load_dataset
datasets = load_dataset('wikiann', 'zh')
print(datasets)
wikiann 數據集的中文版本DatasetDict({
    validation: Dataset({
        features: ['tokens', 'ner_tags', 'langs', 'spans'],
        num_rows: 10000
    })
    test: Dataset({
        features: ['tokens', 'ner_tags', 'langs', 'spans'],
        num_rows: 10000
    })
    train: Dataset({
        features: ['tokens', 'ner_tags', 'langs', 'spans'],
        num_rows: 20000
    })
})
train (訓練集 20000 個)、validation (驗證集 10000 個)、test (測試集 10000 個)datasets["train"].features
{'tokens': Sequence(feature=Value(dtype='string', id=None), length=-1, id=None),
 'ner_tags': Sequence(feature=ClassLabel(names=['O', 'B-PER', 'I-PER', 'B-ORG', 'I-ORG', 'B-LOC', 'I-LOC'], id=None), length=-1, id=None),
 'langs': Sequence(feature=Value(dtype='string', id=None), length=-1, id=None),
 'spans': Sequence(feature=Value(dtype='string', id=None), length=-1, id=None)}
來看看完整的一筆資料裡面的內容
print(datasets["train"][0])
{
  'tokens': ['2', '0', '0', '9', '年', ':', '李', '民', '基', '《', 'E', 't', 'e', 'r', 'n', 'a', 'l', '#', 'S', 'u', 'm', 'm', 'e', 'r', '》'], 
  'ner_tags': [0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
  'langs': ['zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh', 'zh'], 
  'spans': ['PER: 李 民 基']
}
B-PER -> 1、I-PER -> 2,這種方式可以節省儲存空間,還可以提高電腦在處理和計算這些標籤時的速度datasets = load_dataset('wikiann', 'zh', split='train')
print(datasets)
split指定要載入的特定子集,這裡我選擇 train。Dataset({
    features: ['tokens', 'ner_tags', 'langs', 'spans'],
    num_rows: 20000
})
wikiann : 這個資料集的用途是進行命名實體識別訓練 NER 任務,其中模型的目標是從文本中識別和標記命名實體(主要例如人名、地名、組織名等,這也是最常見的)。我們可以使用訓練集來訓練 NER 模型,使用驗證集來調整模型的超參數,然後使用測試集來評估模型的效能,而且有非常多種語言的資料集。(有興趣可以直接到關往查看)